{*include file="header.tpl" eltype="class" hasel=true contents=$classcontents*}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<class{if $is_interface} is_interface="1"{/if}{if $abstract} is_abstract="1"{/if} name="{$class_name}" line="{$line_number}" path="{$source_location}">
{if $conflicts.conflict_type}
    <conflicts>
        {section name=me loop=$conflicts.conflicts}<conflict>{$conflicts.conflicts[me]}</conflict>{/section}
    <conflicts>
{/if}
{if $class_tree.classes|is_array}
    <class_tree>
        {section name=tree loop=$class_tree.classes}<class distance="{$class_tree.distance[tree]}">{$class_tree.classes[tree]|strip_tags|trim}</class>{/section}
    
    </class_tree>
{/if}
    {if $tutorial}<tutorial>{$tutorial}</tutorial>{/if}
{assign var="authors" value=0}{section name=tag loop=$tags}{if $tags[tag].keyword eq "author"}{assign var="authors" value=1}{/if}{/section}
{if $authors}
    <authors>
    {section name=tag loop=$tags}
        {if $tags[tag].keyword eq "author"}<author><![CDATA[{$tags[tag].data}]]></author>{/if}

    {/section}
    </authors>
{/if}
{assign var="version" value=""}{section name=tag loop=$tags}{if $tags[tag].keyword eq "version"}{assign var="version" value=$tags[tag].data}{/if}{/section}
{if $version neq ''}
    <version><![CDATA[{$version}]]></version>
{/if}
{assign var="copyright" value=""}{section name=tag loop=$tags}{if $tags[tag].keyword eq "copyright"}{assign var="copyright" value=$tags[tag].data}{/if}{/section}
{if $copyright neq ''}
    <copyright><![CDATA[{$copyright}]]></copyright>
{/if}
{if $children}
<childs>
{section name=kids loop=$children}{assign var="name" value=$children[kids].link|strip_tags|trim}{if $name}<class name="{$name}" />{/if}
{/section}
</childs>
{/if}
{if $implements}
<implements>
{foreach item="int" from=$implements}   <interface><![CDATA[{$int}]]></interface>
{/foreach}
</implements>
{/if}
{if $ivars}
<inherited_variables>
{foreach from=$ivars item=ivar}
{foreach item=ivar2 from=$ivar.ivars}
    {assign var="distance" value="0"}
    {section name=tree loop=$class_tree.classes}{if $class_tree.classes[tree] == $ivar.parent_class}{assign var="distance" value=$class_tree.distance[tree]}{/if}{/section}
    <variable distance="{$distance}" class="{$ivar.parent_class|strip_tags|trim}" name="{$ivar2.name}" access="{$ivar2.access}" {if $ivar2.abstract}abstract="1"{/if}><![CDATA[{$ivar2.default|trim}]]></variable>
{/foreach}
{/foreach}
</inherited_variables>
{/if}
{if $iconsts}
<inherited_constants>
{foreach from=$iconsts item=iconst}
{foreach item=iconst2 from=$iconst.iconsts}
{assign var="distance" value="0"}
    {assign var="distance" value="0"}
    {section name=tree loop=$class_tree.classes}{if $class_tree.classes[tree] == $iconst.parent_class}{assign var="distance" value=$class_tree.distance[tree]}{/if}{/section}
    <constant distance="{$distance}" class="{$iconst.parent_class|strip_tags|trim}" name="{$iconst2.name}" access="{$iconst2.access}"><![CDATA[{$iconst2.value|trim}]]></constant>
{/foreach}
{/foreach}
</inherited_constants>
{/if}
{if $imethods}
<inherited_methods>
{foreach from=$imethods item=imethod}
{foreach item=imethod2 from=$imethod.imethods}
    {assign var="distance" value="0"}
    {section name=tree loop=$class_tree.classes}{if $class_tree.classes[tree] == $imethod.parent_class}{assign var="distance" value=$class_tree.distance[tree]}{/if}{/section}
    <method distance="{$distance}" class="{$imethod.parent_class|strip_tags|trim}" access="{$imethod2.access}"{if $imethod2.abstract} abstract="1"{/if}{if $imethod2.constructor} constructor="1"{/if}{if $imethod2.static} static="1"{/if}{if $imethod2.function_call.returnsref} returnsref="1"{/if} return="{$imethod2.function_return|strip_tags|trim}" name="{$imethod2.name}"{if $imethod2.function_call.params}>
        {foreach from=$imethod2.function_call.params item=param}<param type="{$param.type}"{if $param.name|substr:0:1 == '&'} name="{$param.name|substr:1}" ref="1"{else} name="{$param.name}"{/if}{if $param.hasdefault}><![CDATA[{$param.default}]]></param>{else} />{/if}
    {/foreach}

    </method>{else} />{/if}

{/foreach}
{/foreach}
</inherited_methods>
{/if}

{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc}


{include file="var.tpl"}

{include file="method.tpl"}

{include file="const.tpl"}

</class>